文章目录
  1. 1. git 回滚与回退命令行
    1. 1.1. git reset
    2. 1.2. git revert

git 回滚与回退命令行

git reset

git reset 就像是时光机,可以将事物回退到某个时间点,可以改变这个时间点之后发生的事情。

  1. 将commit的代码回退到本地工作副本,以便修改后重新commit

    git reset --soft <<commitID>>
    

    如:git reset –soft HEAD^

注意:此方式不会回退已push的commit(commit和index不会丢失),本地工作副本区的修改也不会丢失,重新push就是新的提交

  1. 将本地的源码回退到某个版本,包括commit内容,和git自己对代码的索引都会回退到某个版本, 所有本地修改将丢失
git reset --hard <<commitID>>

如:git reset –hard HEAD~3 (回退3次提交)或 git reset –hard afbd4fj

注意:此方式会在重新push之后丢失目标commitID之后push的内容与index,且还会丢失所有本地工作副本区修改内容

  1. 将本地的源码都回退到某个版本, 但保留本地未提交的代码,已提交的commit和index回退到目标版本
git reset  --mixed <<commitID>>

注意:此方式会在重新push之后丢失目标commitID之后push的内容与index,本地修改将会保留在工作副本区

git revert

git revert 就像是小孩做错了事,大人可以纠正他,要求小孩按正确的方法重新做。时间不可以回退,但事情可以重做。

  1. 将某次版本内容回退到本地副本工作区
git revert <<commitID>>

revert后再次提交

文章目录
  1. 1. git 回滚与回退命令行
    1. 1.1. git reset
    2. 1.2. git revert